#ifndef _GL_CAMERA_H
#define _GL_CAMERA_H

#include <GL/gl.h>			// Header File For The OpenGL32 Library
#include <GL/glu.h>			// Header File For The GLu32 Library

#include "glQuaternion.h"
#include "glPoint.h"
#include "glVector.h"


class glCamera  
{
public:
	glCamera();
	virtual ~glCamera();

	GLfloat m_MaxYawRate;
	GLfloat m_MaxPitchRate;
	GLfloat m_MaxRollRate;

	GLfloat m_YawDegrees;
	GLfloat m_PitchDegrees;
	GLfloat m_RollDegrees;

	GLfloat m_MaxForwardVelocity;
	GLfloat m_ForwardVelocity;

	glQuaternion m_qYaw;
	glQuaternion m_qPitch;
	glQuaternion m_qRoll;

	glPoint 	m_Position;
	glVector 	m_DirectionVector;

	glVector	direction;

	void ChangeYaw(GLfloat degrees);
	void ChangePitch(GLfloat degrees);
	void ChangeRoll(GLfloat degrees);
	void SetPerspective(void);

	glVector GetDirection();
};

#endif
